package com.fowo.api.model.cost.supplement.form;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 成本补录单 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class CostSupplementFormImportPo {

  /** 补录单号 */
  @ExcelProperty("*补录单号")
  @NotBlank(message = "补录单号不能为空")
  @Size(max = 50, message = "补录单号长度不能超过50")
  private String orderNumber;

  /** 类型 */
  @ExcelProperty("*类型")
  @NotBlank(message = "类型不能为空")
  @EnumsString(value = { "入库成本" }, message = "类型只能是“入库成本”中的一个")
  private String type;

  /** 仓库 */
  @ExcelProperty("*仓库")
  @NotBlank(message = "仓库不能为空")
  @Size(max = 50, message = "仓库长度不能超过50")
  private String warehouseName;

  @ExcelIgnore
  @Schema(title = "*仓库")
  private String warehouse;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remark;

  /** 单据状态 */
  @ExcelProperty("单据状态")
  @EnumsString(
    value = { "待审批", "已处理", "已驳回" },
    message = "单据状态只能是“待审批”, “已处理”, “已驳回”中的一个"
  )
  private String documentStatus;
}
